package com.linkhub.oms.common.util;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 时间工具类型
 *
 * @author Frank
 */
public class LkDateUtil {

    /**
     * 校验时间区间是否有重叠
     *
     * @param startA 时间范围A开始
     * @param endA   时间范围A结束
     * @param startB 时间范围B开始
     * @param endB   时间范围B结束
     * @return true 有重叠
     */
    public static boolean overlapsWith(LocalDate startA, LocalDate endA, LocalDate startB, LocalDate endB) {
        return (startA.isBefore(endB) || startA.isEqual(endB)) && (endA.isAfter(startB) || endA.isEqual(startB));
    }

    /**
     * 校验时间区间是否有重叠
     *
     * @param startA 时间范围A开始
     * @param endA   时间范围A结束
     * @param startB 时间范围B开始
     * @param endB   时间范围B结束
     * @return true 有重叠
     */
    public static boolean overlapsWith(LocalDateTime startA, LocalDateTime endA, LocalDateTime startB, LocalDateTime endB) {
        return (startA.isBefore(endB) || startA.isEqual(endB)) && (endA.isAfter(startB) || endA.isEqual(startB));
    }
    
}
